﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace dacli.modelos.dao
{
   public class ExamenesCategoriaDAO : EntidadDao
    {

        public ExamenesCategoria examenesCategoria { get; set; }

        public ExamenesCategoria asignarId(long id)
        {
            this.consultar("id=" + id);
            return this.examenesCategoria;
        }
        public ExamenesCategoriaDAO(ExamenesCategoria examenesCategoria)
            : base("examenes_categoria")
        {
            this.examenesCategoria = (ExamenesCategoria)examenesCategoria.Clone();
        }
        public ExamenesCategoriaDAO()
            : base("examenes_categoria")
        {
            
        }

        public  override long incluir()
        {       
            string sql = "INSERT INTO " + this.tabla + " (nombre,filas) values" +
                        "('" + examenesCategoria.nombre + "',"+ examenesCategoria.filas +")";
            return conexion.ejecutar(sql);
        }

        public override long modificar()
        {
            string sql = "UPDATE " + this.tabla + " SET "
                        + "nombre ='" + examenesCategoria.nombre + "', "
                        + "filas =" + examenesCategoria.filas + " "
                        + "WHERE id =" + examenesCategoria.id;
            return conexion.ejecutar(sql);            
        }

        public override long eliminar()
        {
            string sql = "DELETE FROM " + this.tabla + " WHERE "
                        + "id =" + examenesCategoria.id;
            return conexion.ejecutar(sql);            
        }

        public override bool consultar(string filtro)
        {
            string sql = "SELECT * FROM " + this.tabla + " WHERE "
            + filtro;
            SqlDataReader reader = conexion.consultar(sql);
            if (reader.Read()) {
                this.examenesCategoria = new ExamenesCategoria();
                this.examenesCategoria.id = reader.GetInt64(reader.GetOrdinal("id"));
                this.examenesCategoria.nombre = reader.GetString(reader.GetOrdinal("nombre")).ToString();
                this.examenesCategoria.filas = reader.GetInt32(reader.GetOrdinal("filas")) == null ? 0 : reader.GetInt32(reader.GetOrdinal("filas"));
                reader.Close();
                return true;
            }
            return false;
        }   
   }
}
